/*
 * AfmPolicy.h
 *
 *  Created on: 07 Ιουν 2010
 *      Author: Sartios
 */

#ifndef AFMPOLICY_H_
#define AFMPOLICY_H_

#include "../ITeacherInsuranceNumberValidator.h"

class AfmPolicy : public ITeacherInsuranceNumberValidator {
public:
	/**
	 * Sets minimum length
	 */
	AfmPolicy();
	virtual ~AfmPolicy();
	/**
	 * Checks if the given insurance number agrees with afm policy
	 * \return true if it agrees
	 */
	virtual	bool	insuranceNumberAgreeWithBusinessPolicy(const string *insuranceNumber);
	/**
	 * Check if the size of the input is appropriate
	 * \return true if it is
	 */
	virtual bool	insuranceNumberHasAppropriateLength(const string *insuranceNumber);
	/**
	 * Check if the input has apropriate content
	 * \return true if it is
	 */
	virtual bool	insuranceNumberHasAppropriateContent(const string *insuranceNumber);
private:
	const signed int *MINIMUM_LENGTH;
};

#endif /* AFMPOLICY_H_ */
